package site.wtcc.originalfavor.dao.osUser;

import org.apache.ibatis.annotations.*;
import site.wtcc.originalfavor.func.common.driver.SimpleSelectInLangDriver;
import site.wtcc.originalfavor.func.common.driver.SimpleUpdateLangDriver;
import site.wtcc.originalfavor.dao.entity.Book;

import java.util.List;

@Mapper
public interface BookDao {
    /**
     * @param book
     * @author lihong 2016年6月24日 下午2:12:39
     * @since v1.0
     */
    public void addBook(Book book);

    /**
     * 与addBook功能相同，此处是为了测试两种插入数据并获取主键的方法
     * @param book void
     * @author lihong 2016年6月24日 下午2:58:33
     * @since v1.0
     */
    public void insert(Book book);

    /**
     * @return List<Book>
     * @author lihong 2016年6月24日 下午2:12:59
     * @since v1.0
     */
    public List<Book> getAll(Book book);


    @Select("SELECT * FROM book WHERE id IN (#{idList})")
    @Lang(SimpleSelectInLangDriver.class)
    List<Book> getBookByIdInBatch(@Param("idList") List<Integer> idList);


    @Update("UPDATE book (#{book}) WHERE id = #{id}")
    @Lang(SimpleUpdateLangDriver.class)
    void updateUsersById(Book book);
}
